﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlServerCe;


namespace QuanLySieuThi_08520114_08520220
{
    class ToanCuc
    {
        //--------------------------------------------------------------------------------------------------------------------
        //Thông báo lỗi
        public static void DisplayError(SqlCeException ex)
        {
            string message="";
            SqlCeErrorCollection oErrors = ex.Errors;
            foreach (SqlCeError oErr in oErrors)
            {
                switch (oErr.NativeError)
                {
                    case 25025:
                        message = "Vi phạm khoá ngoại ! Phải xóa các thông tin có liên quan trước khi xóa dữ liệu này.";break;
                    case 25920:
                        message = "Chuỗi bạn nhập vào quá dài !"; break;
                    default:
                        message = oErr.Message; break;
                }
            }
            MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
       //--------------------------------------------------------------------------------------------------------------------
        // Tạo kết nối tới database trên máy server
        public static bool OpenDB(ref SqlCeConnection connect)
        {
            string cmd_connect;

            cmd_connect = "Data Source = SieuThi.sdf";

            if ((connect != null) && (connect.State == ConnectionState.Open)) return true;
            
            try
            {
                connect = new SqlCeConnection(cmd_connect);
                connect.Open();
            }
            catch (SqlCeException ex)
            {
                DisplayError(ex);
                connect = null;
                return false;
            }

            return true;
        }
        //-----------------------------------------------------------------------------------
        //kết thúc kết nối tới database trên máy server
        public static void disconnect(ref SqlCeConnection connect)
        {
            if (connect != null)
                if (connect.State == ConnectionState.Open)
                {
                    try
                    {
                        connect.Close();
                    }
                    catch (SqlCeException ex)
                    {
                        DisplayError(ex);
                    }
                    connect = null;
                }

        }
    }
   
}
